With the widespread growth of the Internet and advances in communication technology, users of communication devices can conveniently gain access to a virtually unlimited quantity of information and services. This is especially true with wireless communication devices, such as cell phones and wirelessly-equipped personal digital assistants for instance, which provide users with access to such information from virtually any location where wireless coverage exists.
As a general matter, a communication device may acquire content through either “background downloading” or “foreground downloading.” Background downloading is a process by which the device downloads the content without user input at the time. For example, the device may be programmed to automatically download content at particular times, and the device may do so without prompting the user for approval and without receiving a user request or approval at the time to do so. As another example, the device may receive a content-notification message indicating that content is available to be downloaded, and the device may responsively download the content without prompting the user for approval and without receiving a user request or approval at the time to do so. (When the device conducts a background-download, the user may or may not perceive the device conducting the background-download. For instance, the device may or may not present a notice when it is conducting the background-download).
Foreground downloading, on the other hand, is a process by which the device downloads the content in response to user request or approval at the time. For example, a user may invoke a browser or other application on the device and thereby direct the device to download particular content at the time, and the device may responsively do so. As another example, the device may receive a content-notification message indicating that content is available to be downloaded, the device may responsively prompt the user for approval and receive user approval. In response to the user approval, the device may then download the content, as another instance of foreground downloading.
Both background and foreground downloading can be used, in combination or separately, to provide a versatile channel-presentation program on a communication device. Such a channel presentation-program, for instance, may allow a user to selectively view content of one or more channels (akin to TV channels), each of which may be focused on a particular subject (such as sports, weather, or pop-music, for instance). For each channel, the channel-presentation program may be arranged to periodically background-download the most current channel content from a designated URL. Alternatively, a network server may be arranged to periodically transmit the most current channel content to the device, as either a background-download or a foreground-download (e.g., with a content-notification message triggering the device to obtain user approval before downloading the designated content). Conveniently, whenever a user of the device then selects a desired channel in the channel-presentation program, the program can present the user with the latest set of content that was background-downloaded for that channel, without having to wait for the device to download the content.
Furthermore, through interaction with the channel-presentation program, the user may direct the program to update its content channels at the time through a foreground-download. For example, when the user first turns on the channel-presentation program, the user's initiation of the program may implicitly direct the program to update the content-channels at the time. As another example, the channel-presentation program may include an “update” function that the user can invoke in order to direct the program to update the content-channels. In response to such user requests, the channel-presentation program would thus initiate a foreground download of the latest channel content.
In order to conserve storage space and network resources, such a channel-presentation program may be arranged to download just a limited portion of each channel's content when conducting channel-updates, regardless of whether the updates are conducted through foreground or background downloading. For instance, the program may be arranged to send an HTTP request message to a URL that represents or points to such partial content. With this arrangement, when a user selects a particular channel, the program may then present the user with the just that downloaded portion of the channel's content, to conveniently give the user a flavor for the full channel content. If the user wishes to receive the full channel content, the user may then invoke a “full” function in the channel presentation program, which would direct the program to download the full channel content for presentation to the user. In particular, the program may download a full version of the content by sending an HTTP request message to a URL that represents or points to the full content.
For instance, the channel-presentation program may define a “news” channel that presents news stories, and the program may be set by default to download just a headline and first portion of each news story when performing a foreground or background channel update. When a user selects the news channel, the program may then present the user with a list of headlines, and the user may click on a desired headline to invoke presentation of the previously downloaded first portion of the corresponding story. After reading that first portion, if the user then wishes to view the full version of the story, the user may invoke a “full” function of the channel-presentation program to cause the program to download and present the full version of the story.